package net.androidstudy.koreabeach;

import java.util.ArrayList;

import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.graphics.drawable.Drawable;

import com.google.android.maps.ItemizedOverlay;
import com.google.android.maps.OverlayItem;

//지도에 그림을 그려주는 클래스
public class HelloItemOverlay extends ItemizedOverlay{

	Context mcontext ;//상위 클래스에 대한 정보를 저장해주는 객체
	ArrayList<OverlayItem> overItem =new ArrayList<OverlayItem>();	//위도와경도, 타이틀, 메세지를 저장해주는 객체 선언
	
	//이미지와 상위클래스에 대한 정보를 받아옴
	public HelloItemOverlay(Drawable arg0, Context context) {
		//geopoint클래스에 주어진 값으로 지도에 이미지를 붙임
		super(boundCenterBottom(arg0));
		mcontext=context;
	}

	//지도에 이미지를 그려주는 메소드
	@Override
	protected OverlayItem createItem(int i) {
		// TODO Auto-generated method stub
		return overItem.get(i);
	}

	//지도에 그릴 데이터의 개수를 파악해주는 클래스
	@Override
	public int size() {
		// TODO Auto-generated method stub
		return overItem.size();
	}
	
	//OverItem데이터를 저장해주는 메소드
	public void addOverItem(OverlayItem overlayitem){
		overItem.add(overlayitem);
		//createItem()메소드에서 호출함
		populate();		
	}

	@Override
	protected boolean onTap(int index) {
		//이벤트가 눌린 번지수를 기준으로 overItem에서 데이터를 가져옴
		OverlayItem item = overItem.get(index);
		//다이얼로그박스를 만듬
		AlertDialog.Builder dialog = new AlertDialog.Builder(mcontext);
		//다이얼로그에 타이틀을 붙임
		dialog.setTitle(item.getTitle());
		//다이얼로그에 메세지를 붙임
		dialog.setMessage(item.getSnippet());
		//다이얼로그를 화면에 보이시오
		dialog.show();
		
		return true;
	}
}





